home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / VOUTPUT.DEF < prev    next >
Encoding:
Modula Definition  |  1994-01-04  |  6.4 KB  |  189 lines

  1. DEFINITION MODULE VOutput;
  2.  
  3. (*
  4. VDI Output Functions.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM PORTAB IMPORT UNSIGNEDWORD,ANYWORD,ANYBYTE;
  12.  
  13. IMPORT VDI,VAttribute;
  14.  
  15. TYPE XY = VDI.XY;
  16.  
  17. (* [V]DI: [P]oly[Line] *****************************************************)
  18.  
  19. PROCEDURE VPLine(    Handle: UNSIGNEDWORD;
  20.                      Count : UNSIGNEDWORD;
  21.                  VAR PXY   : ARRAY OF XY);
  22.  
  23. (* [V]DI: [P]oly[Marker] ***************************************************)
  24.  
  25. PROCEDURE VPMarker(    Handle: UNSIGNEDWORD;
  26.                        Count : UNSIGNEDWORD;
  27.                    VAR PXY   : ARRAY OF XY);
  28.  
  29. (* [V]DI: [G]raphics [Text] ************************************************)
  30.  
  31. PROCEDURE VGText(    Handle: UNSIGNEDWORD;
  32.                      X     : XY;
  33.                      Y     : XY;
  34.                  VAR Text  : ARRAY OF CHAR);
  35.  
  36. (* [V]DI: [E]xtended Graphics [Text] ***************************************)
  37.  
  38. PROCEDURE VEText(    Handle : UNSIGNEDWORD;
  39.                      X      : XY;
  40.                      Y      : XY;
  41.                  VAR Text   : ARRAY OF CHAR;
  42.                  VAR Offsets: ARRAY OF XY);
  43.  
  44. (* [V]DI: [Fill]ed [Area] **************************************************)
  45.  
  46. PROCEDURE VFillArea(    Handle: UNSIGNEDWORD;
  47.                         Count : UNSIGNEDWORD;
  48.                     VAR PXY   : ARRAY OF XY);
  49.  
  50. (* [V]DI: [Cell] [Array] ***************************************************)
  51.  
  52. TYPE WritingModes = VAttribute.WritingModes;
  53.  
  54. PROCEDURE VCellArray(    Handle   : UNSIGNEDWORD;
  55.                      VAR PXY      : ARRAY OF XY;
  56.                          RowLength: UNSIGNEDWORD;
  57.                          ElUsed   : UNSIGNEDWORD;
  58.                          NumRows  : UNSIGNEDWORD;
  59.                          WrtMode  : WritingModes;
  60.                      VAR ColArray : ARRAY OF ANYWORD);
  61.  
  62. (* [V]DI: [Contour] [Fill] *************************************************)
  63.  
  64. PROCEDURE VContourFill(Handle: UNSIGNEDWORD;
  65.                        X     : XY;
  66.                        Y     : XY;
  67.                        Index : UNSIGNEDWORD);
  68.  
  69. (* [V]DI: [F]il[l] [Rec]tangle *********************************************)
  70.  
  71. PROCEDURE VRRecFl(    Handle: UNSIGNEDWORD;
  72.                   VAR PXY   : ARRAY OF XY);
  73.  
  74. (* [V]DI: [Bar] ************************************************************)
  75.  
  76. PROCEDURE VBar(    Handle: UNSIGNEDWORD;
  77.                VAR PXY   : ARRAY OF XY);
  78.  
  79. (* [V]DI: [Arc] ************************************************************)
  80.  
  81. PROCEDURE VArc(Handle: UNSIGNEDWORD;
  82.                X     : XY;
  83.                Y     : XY;
  84.                Radius: UNSIGNEDWORD;
  85.                BegAng: UNSIGNEDWORD;
  86.                EndAng: UNSIGNEDWORD);
  87.  
  88. (* [V]DI: [Pie] ************************************************************)
  89.  
  90. PROCEDURE VPie(Handle: UNSIGNEDWORD;
  91.                X     : XY;
  92.                Y     : XY;
  93.                Radius: UNSIGNEDWORD;
  94.                BegAng: UNSIGNEDWORD;
  95.                EndAng: UNSIGNEDWORD);
  96.  
  97. (* [V]DI: [Circle] *********************************************************)
  98.  
  99. PROCEDURE VCircle(Handle: UNSIGNEDWORD;
  100.                   X     : XY;
  101.                   Y     : XY;
  102.                   Radius: UNSIGNEDWORD);
  103.  
  104. (* [V]DI: [Ellipse] ********************************************************)
  105.  
  106. PROCEDURE VEllipse(Handle : UNSIGNEDWORD;
  107.                    X      : XY;
  108.                    Y      : XY;
  109.                    XRadius: UNSIGNEDWORD;
  110.                    YRadius: UNSIGNEDWORD);
  111.  
  112. (* [V]DI: [Ell]iptical [Arc] ***********************************************)
  113.  
  114. PROCEDURE VEllArc(Handle : UNSIGNEDWORD;
  115.                   X      : XY;
  116.                   Y      : XY;
  117.                   XRadius: UNSIGNEDWORD;
  118.                   YRadius: UNSIGNEDWORD;
  119.                   BegAng : UNSIGNEDWORD;
  120.                   EndAng : UNSIGNEDWORD);
  121.  
  122. (* [V]DI: [Ell]iptical [Pie] ***********************************************)
  123.  
  124. PROCEDURE VEllPie(Handle : UNSIGNEDWORD;
  125.                   X      : XY;
  126.                   Y      : XY;
  127.                   XRadius: UNSIGNEDWORD;
  128.                   YRadius: UNSIGNEDWORD;
  129.                   BegAng : UNSIGNEDWORD;
  130.                   EndAng : UNSIGNEDWORD);
  131.  
  132. (* [V]DI: [R]ounded [Box] **************************************************)
  133.  
  134. PROCEDURE VRBox(    Handle: UNSIGNEDWORD;
  135.                 VAR PXY   : ARRAY OF XY);
  136.  
  137. (* [V]DI: [F]illed [R]ounded [Box] *****************************************)
  138.  
  139. PROCEDURE VRFBox(    Handle: UNSIGNEDWORD;
  140.                  VAR PXY   : ARRAY OF XY);
  141.  
  142. (* [V]DI: [Justified] Graphics Text ****************************************)
  143.  
  144. PROCEDURE VJustified(    Handle    : UNSIGNEDWORD;
  145.                          X         : XY;
  146.                          Y         : XY;
  147.                      VAR Text      : ARRAY OF CHAR;
  148.                          TextLength: UNSIGNEDWORD;
  149.                          WordSpace : BOOLEAN;
  150.                          CharSpace : BOOLEAN;
  151.                          CharInfo  : BOOLEAN;
  152.                      VAR CharWidth : ARRAY OF UNSIGNEDWORD);
  153. (* [V]DI: Output [Bez]ier **************************************************)
  154.  
  155. PROCEDURE VBez(    Handle  : UNSIGNEDWORD;
  156.                    Count   : UNSIGNEDWORD;
  157.                VAR PXY     : ARRAY OF XY;
  158.                VAR BezArray: ARRAY OF ANYBYTE;
  159.                VAR Extent  : ARRAY OF XY;
  160.                VAR NPoints : UNSIGNEDWORD;
  161.                VAR NMove   : UNSIGNEDWORD);
  162.  
  163. (* [V]DI: Output [Filled] [Bez]ier *****************************************)
  164.  
  165. PROCEDURE VBezFill(    Handle  : UNSIGNEDWORD;
  166.                        Count   : UNSIGNEDWORD;
  167.                    VAR PXY     : ARRAY OF XY;
  168.                    VAR BezArray: ARRAY OF ANYBYTE;
  169.                    VAR Extent  : ARRAY OF XY;
  170.                    VAR NPoints : UNSIGNEDWORD;
  171.                    VAR NMove   : UNSIGNEDWORD);
  172.  
  173. (* [V]DI: Outline [F]ont [Text] ********************************************)
  174.  
  175. PROCEDURE VFText(    Handle: UNSIGNEDWORD;
  176.                      X     : XY;
  177.                      Y     : XY;
  178.                  VAR Text  : ARRAY OF CHAR);
  179.  
  180. (* [V]DI: Outline [F]ont [Text] With [Offset] Vectors **********************)
  181.  
  182. PROCEDURE VFTextOffset(    Handle: UNSIGNEDWORD;
  183.                            X     : XY;
  184.                            Y     : XY;
  185.                        VAR Text  : ARRAY OF CHAR;
  186.                        VAR Offset: ARRAY OF XY);
  187.  
  188. END VOutput.
  189.